const { Sequelize, DataTypes, Model } = require('sequelize')

class Realtime extends Model {}

module.exports = (sequelize) => {
  Realtime.init(
    {
      id: {
        type: DataTypes.INTEGER,
        autoIncrement: true,
        primaryKey: true
      },
      paytype: {
        type: DataTypes.STRING(2)
      },
      healthNo: {
        type: DataTypes.STRING(10)
      },
      hospitalNum: {
        type: DataTypes.STRING(3)
      },
      code: {
        type: DataTypes.STRING(10)
      },
      isChouYang: {
        type: DataTypes.STRING(2)
      },
      sex: {
        type: DataTypes.STRING(2)
      },
      birthday: {
        type: DataTypes.STRING(10)
      },
      age: {
        type: DataTypes.STRING(3)
      },
      country: {
        type: DataTypes.STRING(10)
      },
      BZYZSNL: {
        type: DataTypes.STRING(10)
      },
      babyBirthWeight: {
        type: DataTypes.STRING(4)
      },
      babyHospitalWeight: {
        type: DataTypes.STRING(4)
      },
      birthArea: {
        type: DataTypes.STRING(50)
      },
      nativePlace: {
        type: DataTypes.STRING(10)
      },
      nation: {
        type: DataTypes.STRING(10)
      },
      job: {
        type: DataTypes.STRING(10)
      },
      marriage: {
        type: DataTypes.STRING(3)
      },
      nowAddress: {
        type: DataTypes.STRING(10)
      },
      nowAddressTel: {
        type: DataTypes.STRING(15)
      },
      nowAddressCode: {
        type: DataTypes.STRING(10)
      },
      hukouAddress: {
        type: DataTypes.STRING(40)
      },
      hukouCode: {
        type: DataTypes.STRING(10)
      },
      jobCompanyAndAddress: {
        type: DataTypes.STRING(40)
      },
      jobTel: {
        type: DataTypes.STRING(15)
      },
      jobCode: {
        type: DataTypes.STRING(10)
      },
      contactName: {
        type: DataTypes.STRING(10)
      },
      realation: {
        type: DataTypes.STRING(10)
      },
      contactAddress: {
        type: DataTypes.STRING(40)
      },
      contactTel: {
        type: DataTypes.STRING(15)
      },
      inHospitalType: {
        type: DataTypes.STRING(10)
      },
      inHospitalTime: {
        type: DataTypes.STRING(10)
      },
      RYSJS: {
        type: DataTypes.STRING(10)
      },
      inHospitalCate: {
        type: DataTypes.STRING(10)
      },
      inHospitalRoom: {
        type: DataTypes.STRING(10)
      },
      convertCategory: {
        type: DataTypes.STRING(10)
      },
      outHospitalTime: {
        type: DataTypes.STRING(10)
      },
      CYSJS: {
        type: DataTypes.STRING(10)
      },
      outHospitalCate: {
        type: DataTypes.STRING(10)
      },
      outHospitalRoom: {
        type: DataTypes.STRING(10)
      },
      realInHospitalDays: {
        type: DataTypes.STRING(8)
      },
      clinicDiagnosis: {
        type: DataTypes.STRING(40)
      },
      clinicCode: {
        type: DataTypes.STRING(20)
      },
      mainDiagnosis: {
        type: DataTypes.STRING(40)
      },
      mainDiagnosisCode: {
        type: DataTypes.STRING(20)
      },
      mainDiagnosisInInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis1: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis1Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis1InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis2: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis2Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis2InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis3: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis3Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis3InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis4: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis4Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis4InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis5: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis5Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis5InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis6: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis6Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis6InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis7: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis7Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis7InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis8: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis8Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis8InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis9: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis9Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis9InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis10: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis10Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis10InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis11: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis11Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis11InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis12: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis12Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis12InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis13: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis13Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis13InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis14: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis14Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis14InInfo: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis15: {
        type: DataTypes.STRING(40)
      },
      oDiagnosis15Code: {
        type: DataTypes.STRING(20)
      },
      oDiagnosis15InInfo: {
        type: DataTypes.STRING(40)
      },
      duOutReason: {
        type: DataTypes.STRING(10)
      },
      duOutCode: {
        type: DataTypes.STRING(10)
      },
      bingLi: {
        type: DataTypes.STRING(10)
      },
      bingLiCode: {
        type: DataTypes.STRING(10)
      },
      bingLiNo: {
        type: DataTypes.STRING(10)
      },
      hasYaoGuoMin: {
        type: DataTypes.STRING(10)
      },
      guoMinYao: {
        type: DataTypes.STRING(10)
      },
      deadCheck: {
        type: DataTypes.STRING(10)
      },
      bloodType: {
        type: DataTypes.STRING(10)
      },
      RHBloodType: {
        type: DataTypes.STRING(10)
      },
      keZhuRen: {
        type: DataTypes.STRING(10)
      },
      zhuRenDoctor: {
        type: DataTypes.STRING(10)
      },
      zhuZhiDoctor: {
        type: DataTypes.STRING(10)
      },
      zhuYanDoctor: {
        type: DataTypes.STRING(10)
      },
      zeRenNurse: {
        type: DataTypes.STRING(10)
      },
      jinXiuDoctor: {
        type: DataTypes.STRING(10)
      },
      shiXiDoctor: {
        type: DataTypes.STRING(10)
      },
      coder: {
        type: DataTypes.STRING(10)
      },
      bingAnQuality: {
        type: DataTypes.STRING(10)
      },
      zhiKongDoctor: {
        type: DataTypes.STRING(10)
      },
      zhiKongNurse: {
        type: DataTypes.STRING(10)
      },
      zhiKongDate: {
        type: DataTypes.STRING(10)
      },
      OPERGRPNO1: {
        type: DataTypes.STRING(10)
      },
      opNo1Code: {
        type: DataTypes.STRING(20)
      },
      opNo1Date: {
        type: DataTypes.STRING(10)
      },
      opNo1Level: {
        type: DataTypes.STRING(10)
      },
      opNo1Info: {
        type: DataTypes.STRING(40)
      },
      opNo1Main: {
        type: DataTypes.STRING(10)
      },
      opNo1Assit1: {
        type: DataTypes.STRING(10)
      },
      opNo1Assit2: {
        type: DataTypes.STRING(10)
      },
      opNo1QieKouLevel: {
        type: DataTypes.STRING(10)
      },
      opNo1YuHeLevel: {
        type: DataTypes.STRING(10)
      },
      opNo1MaZui: {
        type: DataTypes.STRING(10)
      },
      opNo1MaZuiDoctor: {
        type: DataTypes.STRING(10)
      },
      OPERGRPNO2: {
        type: DataTypes.STRING(10)
      },
      opNo2Code: {
        type: DataTypes.STRING(20)
      },
      opNo2Date: {
        type: DataTypes.STRING(10)
      },
      opNo2Level: {
        type: DataTypes.STRING(10)
      },
      opNo2Info: {
        type: DataTypes.STRING(40)
      },
      opNo2Main: {
        type: DataTypes.STRING(10)
      },
      opNo2Assit1: {
        type: DataTypes.STRING(10)
      },
      opNo2Assit2: {
        type: DataTypes.STRING(10)
      },
      opNo2QieKouLevel: {
        type: DataTypes.STRING(10)
      },
      opNo2YuHeLevel: {
        type: DataTypes.STRING(10)
      },
      opNo2MaZui: {
        type: DataTypes.STRING(10)
      },
      opNo2MaZuiDoctor: {
        type: DataTypes.STRING(10)
      },
      OPERGRPNO3: {
        type: DataTypes.STRING(10)
      },
      opNo3Code: {
        type: DataTypes.STRING(20)
      },
      opNo3Date: {
        type: DataTypes.STRING(10)
      },
      opNo3Level: {
        type: DataTypes.STRING(10)
      },
      opNo3Info: {
        type: DataTypes.STRING(40)
      },
      opNo3Main: {
        type: DataTypes.STRING(10)
      },
      opNo3Assit1: {
        type: DataTypes.STRING(10)
      },
      opNo3Assit2: {
        type: DataTypes.STRING(10)
      },
      opNo3QieKouLevel: {
        type: DataTypes.STRING(10)
      },
      opNo3YuHeLevel: {
        type: DataTypes.STRING(10)
      },
      opNo3MaZui: {
        type: DataTypes.STRING(10)
      },
      opNo3MaZuiDoctor: {
        type: DataTypes.STRING(10)
      },
      OPERGRPNO4: {
        type: DataTypes.STRING(10)
      },
      opNo4Code: {
        type: DataTypes.STRING(20)
      },
      opNo4Date: {
        type: DataTypes.STRING(10)
      },
      opNo4Level: {
        type: DataTypes.STRING(10)
      },
      opNo4Info: {
        type: DataTypes.STRING(40)
      },
      opNo4Main: {
        type: DataTypes.STRING(10)
      },
      opNo4Assit1: {
        type: DataTypes.STRING(10)
      },
      opNo4Assit2: {
        type: DataTypes.STRING(10)
      },
      opNo4QieKouLevel: {
        type: DataTypes.STRING(10)
      },
      opNo4YuHeLevel: {
        type: DataTypes.STRING(10)
      },
      opNo4MaZui: {
        type: DataTypes.STRING(10)
      },
      opNo4MaZuiDoctor: {
        type: DataTypes.STRING(10)
      },
      OPERGRPNO5: {
        type: DataTypes.STRING(10)
      },
      opNo5Code: {
        type: DataTypes.STRING(20)
      },
      opNo5Date: {
        type: DataTypes.STRING(10)
      },
      opNo5Level: {
        type: DataTypes.STRING(10)
      },
      opNo5Info: {
        type: DataTypes.STRING(40)
      },
      opNo5Main: {
        type: DataTypes.STRING(10)
      },
      opNo5Assit1: {
        type: DataTypes.STRING(10)
      },
      opNo5Assit2: {
        type: DataTypes.STRING(10)
      },
      opNo5QieKouLevel: {
        type: DataTypes.STRING(10)
      },
      opNo5YuHeLevel: {
        type: DataTypes.STRING(10)
      },
      opNo5MaZui: {
        type: DataTypes.STRING(10)
      },
      opNo5MaZuiDoctor: {
        type: DataTypes.STRING(10)
      },
      OPERGRPNO6: {
        type: DataTypes.STRING(10)
      },
      opNo6Code: {
        type: DataTypes.STRING(20)
      },
      opNo6Date: {
        type: DataTypes.STRING(10)
      },
      opNo6Level: {
        type: DataTypes.STRING(10)
      },
      opNo6Info: {
        type: DataTypes.STRING(40)
      },
      opNo6Main: {
        type: DataTypes.STRING(10)
      },
      opNo6Assit1: {
        type: DataTypes.STRING(10)
      },
      opNo6Assit2: {
        type: DataTypes.STRING(10)
      },
      opNo6QieKouLevel: {
        type: DataTypes.STRING(10)
      },
      opNo6YuHeLevel: {
        type: DataTypes.STRING(10)
      },
      opNo6MaZui: {
        type: DataTypes.STRING(10)
      },
      opNo6MaZuiDoctor: {
        type: DataTypes.STRING(10)
      },
      OPERGRPNO7: {
        type: DataTypes.STRING(10)
      },
      opNo7Code: {
        type: DataTypes.STRING(20)
      },
      opNo7Date: {
        type: DataTypes.STRING(10)
      },
      opNo7Level: {
        type: DataTypes.STRING(10)
      },
      opNo7Info: {
        type: DataTypes.STRING(40)
      },
      opNo7Main: {
        type: DataTypes.STRING(10)
      },
      opNo7Assit1: {
        type: DataTypes.STRING(10)
      },
      opNo7Assit2: {
        type: DataTypes.STRING(10)
      },
      opNo7QieKouLevel: {
        type: DataTypes.STRING(10)
      },
      opNo7YuHeLevel: {
        type: DataTypes.STRING(10)
      },
      opNo7MaZui: {
        type: DataTypes.STRING(10)
      },
      opNo7MaZuiDoctor: {
        type: DataTypes.STRING(10)
      },
      leaveHosType: {
        type: DataTypes.STRING(10)
      },
      zhuanYanJieShou: {
        type: DataTypes.STRING(10)
      },
      zhuanSheQuJieShou: {
        type: DataTypes.STRING(10)
      },
      isDays31In: {
        type: DataTypes.STRING(2)
      },
      days31InAim: {
        type: DataTypes.STRING(40)
      },
      inHosBDays: {
        type: DataTypes.STRING(10)
      },
      inHosBHours: {
        type: DataTypes.STRING(10)
      },
      inHosBMinutes: {
        type: DataTypes.STRING(10)
      },
      inHosADays: {
        type: DataTypes.STRING(10)
      },
      inHosAHours: {
        type: DataTypes.STRING(10)
      },
      inHosAMinutes: {
        type: DataTypes.STRING(10)
      },
      totalCost: {
        type: DataTypes.STRING(10)
      },
      selfCost: {
        type: DataTypes.STRING(10)
      },
      fuWuFei: {
        type: DataTypes.STRING(10)
      },
      zhiLiaoFei: {
        type: DataTypes.STRING(10)
      },
      huLiFei: {
        type: DataTypes.STRING(10)
      },
      otherCost: {
        type: DataTypes.STRING(10)
      },
      bingLiFei: {
        type: DataTypes.STRING(10)
      },
      shiYanShiFei: {
        type: DataTypes.STRING(10)
      },
      yingXiangFei: {
        type: DataTypes.STRING(10)
      },
      linChuangFei: {
        type: DataTypes.STRING(10)
      },
      feiShouShuFei: {
        type: DataTypes.STRING(10)
      },
      linChuangWuLiFei: {
        type: DataTypes.STRING(10)
      },
      shouShuZhiLiaoFei: {
        type: DataTypes.STRING(10)
      },
      maZuiFei: {
        type: DataTypes.STRING(10)
      },
      shouShuFei: {
        type: DataTypes.STRING(10)
      },
      kangFuFei: {
        type: DataTypes.STRING(10)
      },
      zhongYiFei: {
        type: DataTypes.STRING(10)
      },
      xiYaoFei: {
        type: DataTypes.STRING(10)
      },
      kangJunYaoWuFei: {
        type: DataTypes.STRING(10)
      },
      zhongChengYaoFei: {
        type: DataTypes.STRING(10)
      },
      zhongCaoYaoFei: {
        type: DataTypes.STRING(10)
      },
      bloodFei: {
        type: DataTypes.STRING(10)
      },
      baiDanBaiFei: {
        type: DataTypes.STRING(10)
      },
      qiuDanBaiFei: {
        type: DataTypes.STRING(10)
      },
      ningXieYinZiFei: {
        type: DataTypes.STRING(10)
      },
      xiBaoYinZiFei: {
        type: DataTypes.STRING(10)
      },
      jianChaCaiLiaoFei: {
        type: DataTypes.STRING(10)
      },
      zhiLiaoCaiLiaoFei: {
        type: DataTypes.STRING(10)
      },
      shouShuCaiLiaoFei: {
        type: DataTypes.STRING(10)
      },
      otherFei: {
        type: DataTypes.STRING(10)
      },
      danBingZhong: {
        type: DataTypes.STRING(10)
      },
      linChuangLuJing: {
        type: DataTypes.STRING(10)
      },
      zhuanGuiInfo: {
        type: DataTypes.STRING(10)
      },
      qJiuNums: {
        type: DataTypes.STRING(10)
      },
      menZhenAndLeave: {
        type: DataTypes.STRING(10)
      },
      inAndLeave: {
        type: DataTypes.STRING(10)
      },
      shuQianShuHou: {
        type: DataTypes.STRING(10)
      },
      linChuangBingLi: {
        type: DataTypes.STRING(10)
      },
      fangSheBingLi: {
        type: DataTypes.STRING(10)
      },
      qJiuChengGongNums: {
        type: DataTypes.STRING(10)
      }
    },
    {
      sequelize, // We need to pass the connection instance
      modelName: 'Realtime' // We need to choose the model name
    }
  )
  return Realtime
}
